//This is a cmocean colormap
//All credit to Kristen Thyng
//This colormap is under the MIT License
//All cmocean colormaps are available at https://github.com/matplotlib/cmocean/tree/master/cmocean/rgb

namespace ScottPlot.Colormaps;

public class Matter : IColormap
{
    public string Name => "Matter";
    readonly CustomPalette Colormap;
    public Color GetColor(double position) => Colormap.GetColor(position);
    public Matter()
    {
        Color[] colors =
        [
            new( 254, 237, 176 ),
            new( 253, 236, 175 ),
            new( 253, 234, 173 ),
            new( 253, 233, 172 ),
            new( 253, 232, 171 ),
            new( 253, 230, 169 ),
            new( 253, 229, 168 ),
            new( 253, 227, 167 ),
            new( 253, 226, 165 ),
            new( 252, 225, 164 ),
            new( 252, 223, 163 ),
            new( 252, 222, 161 ),
            new( 252, 220, 160 ),
            new( 252, 219, 159 ),
            new( 252, 218, 157 ),
            new( 252, 216, 156 ),
            new( 251, 215, 155 ),
            new( 251, 213, 154 ),
            new( 251, 212, 152 ),
            new( 251, 211, 151 ),
            new( 251, 209, 150 ),
            new( 251, 208, 148 ),
            new( 251, 207, 147 ),
            new( 250, 205, 146 ),
            new( 250, 204, 145 ),
            new( 250, 202, 144 ),
            new( 250, 201, 142 ),
            new( 250, 200, 141 ),
            new( 250, 198, 140 ),
            new( 250, 197, 139 ),
            new( 249, 195, 138 ),
            new( 249, 194, 136 ),
            new( 249, 193, 135 ),
            new( 249, 191, 134 ),
            new( 249, 190, 133 ),
            new( 249, 189, 132 ),
            new( 248, 187, 131 ),
            new( 248, 186, 130 ),
            new( 248, 184, 128 ),
            new( 248, 183, 127 ),
            new( 248, 182, 126 ),
            new( 247, 180, 125 ),
            new( 247, 179, 124 ),
            new( 247, 178, 123 ),
            new( 247, 176, 122 ),
            new( 247, 175, 121 ),
            new( 246, 174, 120 ),
            new( 246, 172, 119 ),
            new( 246, 171, 118 ),
            new( 246, 169, 117 ),
            new( 245, 168, 116 ),
            new( 245, 167, 115 ),
            new( 245, 165, 114 ),
            new( 245, 164, 113 ),
            new( 245, 163, 112 ),
            new( 244, 161, 111 ),
            new( 244, 160, 110 ),
            new( 244, 159, 109 ),
            new( 244, 157, 108 ),
            new( 243, 156, 107 ),
            new( 243, 154, 106 ),
            new( 243, 153, 105 ),
            new( 242, 152, 104 ),
            new( 242, 150, 104 ),
            new( 242, 149, 103 ),
            new( 242, 148, 102 ),
            new( 241, 146, 101 ),
            new( 241, 145, 100 ),
            new( 241, 143, 99 ),
            new( 240, 142, 99 ),
            new( 240, 141, 98 ),
            new( 240, 139, 97 ),
            new( 239, 138, 96 ),
            new( 239, 137, 96 ),
            new( 239, 135, 95 ),
            new( 238, 134, 94 ),
            new( 238, 133, 94 ),
            new( 238, 131, 93 ),
            new( 237, 130, 92 ),
            new( 237, 129, 92 ),
            new( 237, 127, 91 ),
            new( 236, 126, 90 ),
            new( 236, 124, 90 ),
            new( 236, 123, 89 ),
            new( 235, 122, 89 ),
            new( 235, 120, 88 ),
            new( 234, 119, 88 ),
            new( 234, 118, 87 ),
            new( 233, 116, 87 ),
            new( 233, 115, 86 ),
            new( 233, 114, 86 ),
            new( 232, 112, 86 ),
            new( 232, 111, 85 ),
            new( 231, 110, 85 ),
            new( 231, 108, 85 ),
            new( 230, 107, 84 ),
            new( 230, 106, 84 ),
            new( 229, 104, 84 ),
            new( 229, 103, 84 ),
            new( 228, 102, 83 ),
            new( 227, 100, 83 ),
            new( 227, 99, 83 ),
            new( 226, 98, 83 ),
            new( 226, 96, 83 ),
            new( 225, 95, 83 ),
            new( 224, 94, 83 ),
            new( 224, 93, 83 ),
            new( 223, 91, 83 ),
            new( 223, 90, 83 ),
            new( 222, 89, 83 ),
            new( 221, 88, 83 ),
            new( 220, 86, 83 ),
            new( 220, 85, 83 ),
            new( 219, 84, 83 ),
            new( 218, 83, 83 ),
            new( 217, 81, 83 ),
            new( 217, 80, 83 ),
            new( 216, 79, 84 ),
            new( 215, 78, 84 ),
            new( 214, 77, 84 ),
            new( 213, 76, 84 ),
            new( 213, 75, 84 ),
            new( 212, 74, 85 ),
            new( 211, 72, 85 ),
            new( 210, 71, 85 ),
            new( 209, 70, 86 ),
            new( 208, 69, 86 ),
            new( 207, 68, 86 ),
            new( 206, 67, 86 ),
            new( 205, 66, 87 ),
            new( 204, 65, 87 ),
            new( 203, 64, 87 ),
            new( 202, 63, 88 ),
            new( 201, 62, 88 ),
            new( 200, 61, 88 ),
            new( 199, 61, 89 ),
            new( 198, 60, 89 ),
            new( 197, 59, 89 ),
            new( 196, 58, 90 ),
            new( 195, 57, 90 ),
            new( 194, 56, 90 ),
            new( 193, 55, 91 ),
            new( 192, 54, 91 ),
            new( 191, 54, 91 ),
            new( 190, 53, 92 ),
            new( 189, 52, 92 ),
            new( 187, 51, 92 ),
            new( 186, 50, 93 ),
            new( 185, 50, 93 ),
            new( 184, 49, 93 ),
            new( 183, 48, 94 ),
            new( 182, 47, 94 ),
            new( 181, 47, 94 ),
            new( 179, 46, 95 ),
            new( 178, 45, 95 ),
            new( 177, 45, 95 ),
            new( 176, 44, 95 ),
            new( 175, 43, 96 ),
            new( 174, 43, 96 ),
            new( 172, 42, 96 ),
            new( 171, 41, 96 ),
            new( 170, 41, 97 ),
            new( 169, 40, 97 ),
            new( 167, 40, 97 ),
            new( 166, 39, 97 ),
            new( 165, 38, 98 ),
            new( 164, 38, 98 ),
            new( 163, 37, 98 ),
            new( 161, 37, 98 ),
            new( 160, 36, 98 ),
            new( 159, 36, 98 ),
            new( 158, 35, 99 ),
            new( 156, 35, 99 ),
            new( 155, 34, 99 ),
            new( 154, 34, 99 ),
            new( 153, 34, 99 ),
            new( 151, 33, 99 ),
            new( 150, 33, 99 ),
            new( 149, 32, 99 ),
            new( 147, 32, 99 ),
            new( 146, 31, 99 ),
            new( 145, 31, 99 ),
            new( 144, 31, 99 ),
            new( 142, 30, 99 ),
            new( 141, 30, 99 ),
            new( 140, 30, 99 ),
            new( 138, 29, 99 ),
            new( 137, 29, 99 ),
            new( 136, 29, 99 ),
            new( 134, 29, 99 ),
            new( 133, 28, 99 ),
            new( 132, 28, 99 ),
            new( 130, 28, 99 ),
            new( 129, 28, 99 ),
            new( 128, 27, 98 ),
            new( 126, 27, 98 ),
            new( 125, 27, 98 ),
            new( 124, 27, 98 ),
            new( 122, 27, 98 ),
            new( 121, 26, 97 ),
            new( 120, 26, 97 ),
            new( 118, 26, 97 ),
            new( 117, 26, 97 ),
            new( 116, 26, 96 ),
            new( 114, 26, 96 ),
            new( 113, 25, 96 ),
            new( 112, 25, 95 ),
            new( 110, 25, 95 ),
            new( 109, 25, 94 ),
            new( 107, 25, 94 ),
            new( 106, 25, 94 ),
            new( 105, 25, 93 ),
            new( 103, 25, 93 ),
            new( 102, 24, 92 ),
            new( 101, 24, 92 ),
            new( 99, 24, 91 ),
            new( 98, 24, 91 ),
            new( 97, 24, 90 ),
            new( 95, 24, 90 ),
            new( 94, 24, 89 ),
            new( 93, 23, 88 ),
            new( 91, 23, 88 ),
            new( 90, 23, 87 ),
            new( 89, 23, 87 ),
            new( 87, 23, 86 ),
            new( 86, 23, 85 ),
            new( 85, 23, 85 ),
            new( 83, 22, 84 ),
            new( 82, 22, 83 ),
            new( 81, 22, 83 ),
            new( 79, 22, 82 ),
            new( 78, 22, 81 ),
            new( 77, 21, 81 ),
            new( 75, 21, 80 ),
            new( 74, 21, 79 ),
            new( 73, 21, 78 ),
            new( 71, 21, 78 ),
            new( 70, 20, 77 ),
            new( 69, 20, 76 ),
            new( 68, 20, 75 ),
            new( 66, 20, 75 ),
            new( 65, 19, 74 ),
            new( 64, 19, 73 ),
            new( 62, 19, 72 ),
            new( 61, 19, 71 ),
            new( 60, 18, 71 ),
            new( 59, 18, 70 ),
            new( 57, 18, 69 ),
            new( 56, 17, 68 ),
            new( 55, 17, 67 ),
            new( 54, 17, 66 ),
            new( 52, 17, 65 ),
            new( 51, 16, 65 ),
            new( 50, 16, 64 ),
            new( 48, 15, 63 ),
            new( 47, 15, 62 ),
        ];

        Colormap = new CustomPalette(colors);
    }
}

